package buildings.net.client;



import java.io.*;
import java.net.Socket;
import buildings.Building;

public class SerialClient {

    public static void main(String[] args) {
        ObjectInputStream objIn;
        PrintWriter writer = null;
        ObjectOutputStream out = null;
        ObjectInputStream in = null;
        Socket clientSocket = null;
        try {
            objIn = new ObjectInputStream(
                    new FileInputStream("serializated.bin"));
            writer = new PrintWriter("cost.txt");
            clientSocket = new Socket("localhost", 6667);
            out = new ObjectOutputStream(clientSocket.getOutputStream());
            in = new ObjectInputStream(clientSocket.getInputStream());
            Building buf = null;
            String str = null;

            str = (String) in.readObject();

            try {
                while ((buf = (Building) objIn.readObject()) != null) {

                    //оповещаем сервер о том, что передается здание
                    out.writeUTF("building");

                    //отправляем здание
                    out.writeObject(buf);

                    //получаем стоимость здания
                    str = (String) in.readObject();

                    //записываем в файл
                    writer.println(str);
                }
            } catch (IOException e) {
                //сообщаем серверу о том, что передача закончилась
                out.writeUTF("end");
                objIn.close();
                writer.close();
                in.close();
                clientSocket.close();
                System.out.println("Операция успешно завершена");
            }

        } catch (IOException e) {
            System.out.println("Операция не удалась");
        } catch (ClassNotFoundException e) {
            System.out.println("Не удалось десериализовать здание");
        }



    }
}
